package cn.js.sangu.unitStore.common.exception;

import cn.js.sangu.unitStore.common.R;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 说明：全局异常类
 * 作者：linshuo
 * 日期：2024/8/8 10:20
 */
@Slf4j
@ControllerAdvice //处理controller
public class GlobalException {

    //捕获指定异常来处理
    @ExceptionHandler(ServiceException.class)
    @ResponseBody //转为json
    public R serviceException(ServiceException e){
        return R.fail(e.getCode(),e.getMessage());
    }

    @ExceptionHandler(Exception.class)
    @ResponseBody //转为json
    public R globalException(Exception e){
        log.error("系统错误555：捕捉到全局异常："+e.getMessage());
        return R.fail("555","系统出现错误，请联系管理员！错误码:555");
    }
}
